package com.tuanzi.loan.business.repository.miniApps.articleLibrary;

import java.util.List;
import java.util.Map;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import com.tuanzi.loan.business.entity.miniApps.articleLibrary.MiniAppsArticle;
import com.tuanzi.loan.business.entity.miniApps.articleLibrary.MiniAppsArticleRelations;
import com.tuanzi.loan.business.entity.miniApps.articleLibrary.MiniAppsRelation;
import com.tuanzi.loan.vo.request.miniApps.articleLibrary.HealthHeadlineRequest;
import com.tuanzi.loan.vo.request.statistics.ActivityAverageJoinStatRequest;
import com.tuanzi.loan.vo.request.statistics.ExternalLoanAreaStatistisRequest;
import com.tuanzi.loan.vo.response.miniApps.articleLibrary.HealthHeadlineResponse;
import com.tuanzi.loan.vo.response.statistics.ActivityAverageJoinStatResponse;
import com.tuanzi.loan.vo.response.statistics.ExternalLoanAreaStatistisResponse;

public interface HealthHeadlineRepository {
	
	Page<HealthHeadlineResponse> getListPage(HealthHeadlineRequest searchRequest, Pageable pageable);
	
	List<MiniAppsRelation> getTabList();
	
	List<MiniAppsRelation> getMiniAppsList();
	
	List<MiniAppsArticle> getSourceList();
	
	List<MiniAppsRelation> getAdvertiseList();
	
	Map<String ,MiniAppsRelation> getAdvertiseMap();
	
	Map<String ,MiniAppsRelation> getTabMap();
	
	Map<String ,MiniAppsRelation> getMiniAppsMap();
	
	List<MiniAppsRelation> getAdvertiseListOfArticle(Long articleId);
	
	List<MiniAppsRelation> getTabListOfArticle(Long articleId);
	
	List<MiniAppsRelation> getMiniAppsListOfArticle(Long articleId);
	
	List<MiniAppsArticleRelations> selectRelationByArticleIdAndTypeList(Long articleId ,List<String> types);
	
	List<MiniAppsArticle> getRecommendArticleList();
	
	void cleanCache();
	
}
